查看原文
其他

正则篇(二):如何写一个正则表达式

可爱的冬梅 职业译员玩转翻译技术
2024-09-09

之前我们讲过了正则表达式的概念和基本用法,详情可参见这篇文档:正则篇(一):认识正则表达式。

那具体应该怎么写出这样的正则呢?其实就三步:

1. 分析归类

2. 正则匹配

3. 测试匹配

分析归类指的是:分析一下你将要匹配的内容,然后将这些字符进行归类,比如你可把他们归类为数字、英文字母、汉字、一个字符等等。

正则匹配很容易理解,归类结束之后写出每一类的表达式,把这些拼起来就是一个完整表达啦。

测试匹配就更容易理解啦~写出来的表达式对不对呢?一定要测试一下。当然,测试的网站随便找一个可以匹配正则的都可以啦~

(在本文中,我用的是memoq的正则表达式小助手。)

实际演示

我们可以用几个日期的表达来实际演示一下。

⚠️下列提供的案例,我们假设原文中的每个格子代表一个字符,不同底色代表一类。

25.06.2018
  1. 分析归类:

  1. 正则匹配:

当然,你也可以把\d换成[0-9],是一样的。

  1. 测试匹配

再来一个:

25. 06. 2018
  1. 分析归类:

  1. 正则匹配:

同样,你也可以把\d换成[0-9]

  1. 测试匹配

那,如果是原文是以下内容,又该如何匹配呢?

  • 25.06.2018
  • 25. 6.2018
  • 2. 6. 2018
  • 25.6. 2018
  • 25.6. 18

我们还是按照三步走~

  1. 分析归类

  1. 正则匹配

同样,你也可以把\d换成[0-9]

  1. 测试匹配

那么,在上一篇文章的结尾,曾经出了一道题,让大家练习匹配以下日期,同时也给出了几种匹配方式。

日期匹配规则
2018-06-25\d+-\d+-\d+
06/25/2018\d+/\d+/\d+
2018年06月25日\d+年\d+月\d+日
2018年06月25日\d+年\d+月\d+日

我们也可以按照三步骤试试看,就拿第一个举例子好了,剩下的交给大家~

2018-06-25
  1. 分析归类

4个数字+- +2个数字 +- +2个数字

或者可以可以理解为:

多个数字+- +多个数字 +- +多个数字

  1. 正则匹配

\d{4} - \d{2} - \d{2}

如果是第二种理解,那就是

\d+ - \d+ - \d+

  1. 测试正则

怎么样,是不是很简单~

总结

再次回顾一下写正则的三个步骤:

  • 分析归类

  • 正则匹配

  • 测试匹配

好啦这期正则篇先到这里,下期分享“正则在翻译工具中如何使用”。

你还想了解什么,欢迎来问呀~

继续滑动看下一个
职业译员玩转翻译技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存